<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    // 拦截器（拦截方法）：是Object对象下的一个方法

    // 可以将对象下的属性进行拦截，可以控制属性的读写，删除，遍历（枚举），修改
    let obj = {
        userName:"zhangsan"
    }
    let _userName = obj.userName;
    // obj.userName = "lisi";
    // console.log(obj.userName);// lisi
    Object.defineProperty(obj,"userName",{
        // 读
        get(){
            console.log("get")
            return "《"+_userName+"》";
        },
        // 写
        set(v){
            // console.log("set",v)
            _userName = v;
        }
    })
    console.log(obj.userName);// 读取数据
    obj.userName = "lisi";
    console.log(obj.userName);// 《lisi》
</script>
</html>